package com.study.kt._04project.game_tank

import javafx.application.Application
import javafx.scene.input.KeyCode
import javafx.scene.input.KeyEvent
import javafx.scene.paint.Color
import org.itheima.kotlin.game.core.Composer
import org.itheima.kotlin.game.core.Painter
import org.itheima.kotlin.game.core.Window

/**
 * GameEngine游戏引擎Api学习
 */
class TankWindow : Window() {

    //窗体创建时回调
    override fun onCreate() {

    }

    //窗体渲染时回调（不停的调用自己画的方法执行）
    override fun onDisplay() {
        //画图片
        Painter.drawImage("img/tank_2_u.gif", 100, 100)
        //画颜色
        Painter.drawColor(Color.WHITE, 0, 0, 100, 100)
        //画文字
        Painter.drawText("坦克大战", 200, 200, Color.RED)
    }

    //点击键盘事件回调
    override fun onKeyPressed(event: KeyEvent) {
        when (event.code) {
            KeyCode.ENTER -> println("点击了enter")
            KeyCode.A -> println("点击了A")
            //播放声音
            KeyCode.B -> Composer.play("snd/fire.wav")
            else -> println("")
        }
    }

    //耗时业务处理
    override fun onRefresh() {
    }
}

fun main() {
    Application.launch(TankWindow::class.java)
}